package batch.process.core;

import java.util.concurrent.CountDownLatch;

import batch.process.utils.BatchProcessLogger;

public class BaseThread extends Thread {
	protected boolean finaliza;
	protected CountDownLatch finalizado;
	protected BatchProcessLogger logger = new BatchProcessLogger();

	public BaseThread(CountDownLatch finalizado) {
		this.finalizado = finalizado;
	}

	public boolean isFinaliza() {
		return finaliza;
	}

	public void setFinaliza(boolean finaliza) {
		this.finaliza = finaliza;
		interrupt();
	}

	public void setCountDown(CountDownLatch finalizado) {
		this.finalizado = finalizado;		
	}

	@Override
	public void run() {
		super.run();
		
		if (finalizado!= null)
			finalizado.countDown();
	}

	public void finaliza() {
		this.setFinaliza(true);		
	}

}
